//package demo;
//class OutClass{
//    public int data1 = 1;
//    private int data2 = 2;
//    public static int data3 = 3;
//
//    //静态内部类
//    static class InnerClass{
//        public int data4 = 4;
//        private int data5 = 5;
//        public static int data6 = 6;
//
//        public void test(){
//            System.out.println("test方法执行了");
//        }
//    }
//
//}
//public class Test {
//    public static void main(String[] args) {
//        //如何去实例化一个静态内部类对象?
//        OutClass.InnerClass innerClass = new OutClass.InnerClass();
//        innerClass.test();
//        /*什么情况下会以内部类的方式去使用呢?
//        *内部类是构成外部类一个完整的对象
//        *比如你要构成一列火车  火车的每一节车厢又是一个整体 以这个车厢就可以定义成内部类*/
//
//        /*静态内部类注意的点
//        * 1.提问：我能不能通过静态内部类的 test方法 去输出data1/data2 ?
//        * 回答：不能 因为在静态内部类当中 不能直接访问外部类的非静态的数据成员
//        * 如果非要访问的话可以通过对象的引用访问
//        * OutClass outClass = new OutClass();
//        * outClass.data1 */
//    }
//}
